home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 201-225 / disk_223 / fixdisk / fixdisk.doc < prev    next >
Text File  |  1992-05-06  |  10KB  |  206 lines

  1.                               FixDisk V1.0
  2.                     (C) Copyright Werner Gunther 1989
  3.                                 Freeware
  4.                     USE THIS PROGRAM AT YOUR OWN RISK
  5.  
  6.  
  7. FixDisk is a program to recover as much as possible from a defective disk.
  8. I don't claim it is better than 'Diskdoctor' or 'DiskSalv', but it has some
  9. features the others don't have: first of all it can recover damaged
  10. (unreadable) tracks, it has functions to check file integrity, to check the
  11. directory structure and functions to undelete, copy or show (even
  12. defective) files, fix corrupted directory pointers etc. Everything can be
  13. selected with an intuition interface, so everyone can determine what action
  14. should be take place by himself.
  15.  Now the bad news: The program does not keep track of 'loose blocks' i.e.
  16. files without a file header like DiskSalv. It does only work with disks /
  17. partitions using a maximum of 4063 blocks. It may work with larger disks
  18. too, but I don't have a hard disk, so I couldn't test it out. Disks with
  19. more than 4063 blocks are rejected by the program. You may force the
  20. program to accept <48 MB partitions adding 'DOOM' to the command line (i.e.
  21. 'FixDisk doom'). As I said before, it has not been tested and should only
  22. be used if anything else failed, and you're just about to format the
  23. partition.
  24.  
  25. USAGE:
  26.  
  27.  After starting FixDisk from Cli or Workbench you will see a set of gadgets
  28. with the available drives on the top of the window. Choose the desired
  29. drive by clicking it's gadget. If the choosen drive is a 3.5" or a 5.25"
  30. drive you will be asked to insert a disk. Now the program starts to read in
  31. the disk, cylinder by cylinder searching for file/directory headers. This
  32. may take a while, please be patient. Beside read errors you may get some
  33. other messages at this point:
  34.  Block 0 has to start with 'DOS' or 'KICK'. If it does not, you are asked
  35. if you want to fix it.
  36.  The program couldn't find the root block and FixDisk wants to build a new
  37. one.
  38.  The disk isn't validated, the program is going to validate it.
  39.  There is no root block and no file header on the disk, the disk is
  40. probably a custom disk (or the Kickstart disk). FixDisk won't check
  41. anything (and won't let you check, change or fix anything) except read
  42. errors.
  43.  
  44. You may press break (CTRL-C) anytime if you want to abort this operation.
  45. When the disk has been examined, you'll get a file requester on the left
  46. half of the window. The first column shows the 'key' (the block number
  47. where the file header has been found), followed by 'DEL' for deleted files
  48. or '-->', followed by the filename. Red (Color 3) entries are directories.
  49. Click on the filename to select it or shift-click for multiple selections.
  50. Doubleclick a directory to enter the directory.
  51.  
  52.  The right half of the window is filled with 17 Gadgets. As you will notice
  53. some of them are disabled at startup. These are gadgets that will write
  54. onto the disk. To enable them you have to choose 'Write enable' from the
  55. 'Miscellaneous' menu (there is only one menu anyway).
  56.  
  57. THE GADGETS:
  58.  
  59. Directory - Parent
  60.  This gadget is part of the file requester. The requester will show the
  61.  files from the parent directory.
  62.  
  63. Directory - Root
  64.  Same as above, but steps to the root directory.
  65.  
  66. Show - Selected
  67.  Shows a file in Hex or ASCII. Like all other commands, the file is
  68.  processed without using DOS, but each sector (block) is read in, checked
  69.  and displayed. It works exactly the same way 'Copy' (see below) would do,
  70.  so you can use this function to see, what exactly can be recovered from a
  71.  defective file. If the file is on a 'Standard Filesystem' (non FFS) disk,
  72.  you will be asked where the program should take the file links from. Each
  73.  block that belongs to a file is listed in the file header block (and in
  74.  one or more 'file list blocks' if the file is too large). On the 'Standard
  75.  Filesystem' each data block has a pointer to the next block belonging to
  76.  the same file, too. So we have two ways to determine how the file is build
  77.  up: using the links listed in the file header, or using the inter-block
  78.  links. Anyway, it is much safer if you select the file header links, if
  79.  only one block is wrong, you'll get a lot of rubbish using the inter-block
  80.  links.
  81.  
  82. Check Files - Selected
  83.  This function checks the selected files. With the Standard Filesystem it
  84.  is very easy to determine if a file is ok or defective, as each data block
  85.  has a checksum, a pointer to the file header, pointer to the next block
  86.  etc. This is not the case with the FFS and there is no way to determine if
  87.  a given data block really belongs to that file. So, even if the file
  88.  passes the test, it may still be corrupted.
  89.  
  90. Check Files - Deleted
  91.  Checks only deleted files, so you can see which one can be undeleted.
  92.  
  93. Check Files - All
  94.  Checks all files.
  95.  
  96. Undelete Files - Selected
  97.  The first thing this function does, is calling 'check file'. If the file
  98.  seems to be ok, the file header is inserted into the hash chain of it's
  99.  parent directory and the bitmap will be updated, but the 'Bitmap Flag'
  100.  will change to 'FALSE', just to make sure the disk is going to be
  101.  validated after this operation.
  102.  
  103. Undelete Files - All
  104.  Tries to undelete all deleted files.
  105.  
  106. Copy Files - Selected
  107.  Works like 'Show' (see above). You'll be asked to enter a output
  108.  path/directory, if the directory gets full, you may enter a new path. If a
  109.  given file already exists in the destination directory, the program will
  110.  append '.2' to the filename (if '.2' exits too, you'll get '.2.2', don't
  111.  tell me this is dumb, I know that already). Like 'Check File' you may get
  112.  some error messages while the program is working. If a block doesn't seem
  113.  to belong to a given file, you'll be asked to 'SKIP IGNORE ABORT'. 'Skip'
  114.  means, the damaged block won't be copied, 'Ignore' the block will be
  115.  copied, no matter what is on that block, 'Abort' leaves 'Copy Files'.
  116.  Protection bits are preserved, dates are not.
  117.  
  118. Copy Files - All
  119.  Copies the entire disk, trying to recover as much as possible.
  120.  
  121. Wipe Files - Selected
  122.  This function clears the file header of a deleted file. Utilities like
  123.  'Diskdoctor', 'DiskSalv' will try to recover all files, even if they have
  124.  been deleted. If you don't want some files to pop up again using one of
  125.  the programs above, you may use this function. Be warned: after this
  126.  operation you'll have to use a disk-monitor/sector-editor to get the data
  127.  back.
  128.  
  129. Wipe Files - All
  130.  Purges all deleted files.
  131.  
  132. Delete - Selected
  133.  Deletes a file, i.e. the file header will be taken out of its hash chain,
  134.  and the bitmap updated. The 'Bitmap Flag' will be set to 'FALSE' as in
  135.  'Undelete' (see above). This function even works if the DOS delete
  136.  does return an error.
  137.  
  138. Delete - Faulty
  139.  Checks all files and deletes those with errors. The program may ask you
  140.  before deleting a file, if you wish.
  141.  
  142. Info - Device
  143.  Returns some information about the selected device.
  144.  
  145. Validate - Disk
  146.  This is not the Amiga Validator, but my own. The main difference between
  147.  them is that this one tries to repair the disk structure. You may get some
  148.  error reports: Loops in a hash chain, wrong or unreadable file headers,
  149.  checksum errors or 'key already set', two files claiming to own the
  150.  same data block. The usually action that takes place, is to ask you if the
  151.  corrupted file may be deleted. You may check what exactly was wrong using
  152.  'Show' and 'Check file' afterwards.
  153.  
  154. Recover - Track
  155.  This function tries to get as much as possible from a defective track. It
  156.  uses the RAWREAD command from the trackdisk.device and therefore works
  157.  with the trackdisk.device only. What it actually does, is to RAWREAD the
  158.  track into a buffer, search the syncs, and decode the sector (this may
  159.  take some seconds, the routine to decode isn't very fast). If a sector
  160.  sync is missing, the program tries to determine where the sector has to
  161.  start, this works sometimes, but is usually wrong. When the track has been
  162.  decoded, you'll get a window displaying: the number of the sector (1-11),
  163.  the first 4 longwords of that sector, if the checksum is OK or BAD, and if
  164.  that block is ALLOCated or FREE. If an entries is red (color 3), the
  165.  sector didn't have a sync. If, instead of the first few bytes, you get
  166.  'unreadable', the program couldn't even work out where the sector should
  167.  have been. If you are not satisfied with the result, you may click
  168.  'RETRY', this will restart the procedure and usually gives a different
  169.  result (if the track has a 'hard' error, i.e. a damaged surface). If you
  170.  think the result is good (or good enough) click on 'WRITE', this will
  171.  format the track and write those sectors back. It may happen that the
  172.  track can't be formatted. Click 'RETRY' several times, the defective part
  173.  of the track may 'fall' into the gap at some point. If this doesn't seem
  174.  to work, pull out the disk and insert a new, EMPTY!, even unformatted
  175.  disk, and write the track on this disk. Now comes the tricky part: back up
  176.  the original disk, and copy the recovered track to the backup with
  177.  DiskZap/DiskX/Sectorama etc. Hmmm, no, much too complicate, the Amiga is
  178.  a multitasking machine! Backup the disk WHILE FixDisk is running, insert
  179.  the backup into the drive you have selected and click 'RETRY'.
  180.  
  181. THE MENU
  182.  
  183. There are actually only two menuitems:
  184.  
  185. Ignore readerrors:
  186.  Usually you get a requester asking 'RETRY' 'IGNORE' if an error occurs.
  187.  This may be very annoying if the disk has a lot of defective tracks. This
  188.  item will stop that requester popping up.
  189.  It has also a second function: If you are using the 'Copy' function, the
  190.  program will stop every time a file seems to be damaged, and asks what
  191.  action should be taken. With 'Ignore readerrors' on, errors are just
  192.  listed, but the program will act as if you have choosen 'IGNORE'.
  193.  
  194. Write Enable
  195.  Enables those gadgets that will write onto the disk.
  196.  
  197.  That's all. Well, almost. The program has about 80 requesters, some
  198. of them have not been explained, but they should be self-explanatory.
  199.  
  200. Send flames, bug reports, requests to
  201.  G35@DHDURZ1.BITNET
  202.  
  203. Werner Gunther
  204. Wingertspfad 12
  205. D 6900 Heidelberg (FRG)
  206.